[INFO] cloning repository https://github.com/AlxProe/qub-core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/AlxProe/qub-core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlxProe%2Fqub-core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlxProe%2Fqub-core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f1bea4602c4bd7eaedda01f6dc4d1f73559e3e7a
[INFO] fixing AlxProe/qub-core against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlxProe%2Fqub-core" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/AlxProe/qub-core
[INFO] finished tweaking git repo https://github.com/AlxProe/qub-core
[INFO] tweaked toml for git repo https://github.com/AlxProe/qub-core written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/AlxProe/qub-core on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/AlxProe/qub-core already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e
[INFO] running `Command { std: "docker" "start" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking foldhash v0.2.0
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling endi v1.1.1
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]    Compiling toml_edit v0.25.11+spec-1.1.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]    Compiling proc-macro-crate v3.5.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]    Compiling naga v29.0.1
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking bit-vec v0.9.1
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]     Checking codespan-reporting v0.13.1
[INFO] [stderr]     Checking bit-set v0.9.1
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking accesskit v0.24.0
[INFO] [stderr]     Checking kurbo v0.13.0
[INFO] [stderr]     Checking spirv v0.4.0+sdk-1.4.341.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]     Checking async-signal v0.2.14
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking linebender_resource_handle v0.1.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking async-process v2.5.0
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling wgpu-hal v29.0.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking presser v0.3.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking ordered-float v5.3.0
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking pxfm v0.1.29
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking glow v0.17.0
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking accesskit_consumer v0.35.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling async-recursion v1.1.1
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking color v0.3.2
[INFO] [stderr]     Checking fearless_simd v0.3.0
[INFO] [stderr]     Checking font-types v0.11.3
[INFO] [stderr]     Checking wgpu-types v29.0.1
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling zvariant_utils v3.3.1
[INFO] [stderr]    Compiling enumflags2 v0.7.12
[INFO] [stderr]     Checking peniko v0.6.0
[INFO] [stderr]    Compiling zvariant_derive v5.10.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]    Compiling zvariant v5.10.1
[INFO] [stderr]     Checking read-fonts v0.37.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking vello_common v0.0.6
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking emath v0.34.1
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling zbus_names v4.3.2
[INFO] [stderr]     Checking ecolor v0.34.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]     Checking vello_cpu v0.0.6
[INFO] [stderr]    Compiling zbus_xml v5.1.1
[INFO] [stderr]    Compiling zbus_macros v5.15.0
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking zbus-lockstep v0.5.2
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking gpu-allocator v0.28.0
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.5.2
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling wgpu-core v29.0.1
[INFO] [stderr]     Checking epaint_default_fonts v0.34.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking self_cell v1.2.2
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling wgpu v29.0.1
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]     Checking skrifa v0.40.0
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]     Checking zbus v5.15.0
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking epaint v0.34.1
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.12
[INFO] [stderr]     Checking egui v0.34.1
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking wgpu-naga-bridge v29.0.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling secp256k1-sys v0.10.1
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]    Compiling ico v0.4.0
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking webbrowser v1.2.1
[INFO] [stderr]     Checking atspi-common v0.13.0
[INFO] [stderr]    Compiling winresource v0.1.31
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v29.0.2
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking tiny-keccak v2.0.2
[INFO] [stderr]     Checking ripemd v0.1.3
[INFO] [stderr]     Checking secp256k1 v0.29.1
[INFO] [stderr]     Checking qrcode v0.14.1
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking atspi-proxies v0.13.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.18.0
[INFO] [stderr]    Compiling qubd v1.7.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating build.rs from 2021 edition to 2024
[INFO] [stderr]     Checking atspi v0.29.0
[INFO] [stderr]     Checking accesskit_unix v0.21.0
[INFO] [stderr]     Checking accesskit_winit v0.32.2
[INFO] [stderr]     Checking egui-wgpu v0.34.1
[INFO] [stderr]     Checking egui-winit v0.34.1
[INFO] [stderr]     Checking eframe v0.34.1
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/p2p.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/p2p.rs:480:19
[INFO] [stdout]     |
[INFO] [stdout] 468 |               let p = peers.lock().expect("peer mutex poisoned");
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `p` calls a custom destructor
[INFO] [stdout]     |                   `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 476 |                   let a = active.lock().expect("active peer mutex poisoned");
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `a` calls a custom destructor
[INFO] [stdout]     |                       `a` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |               match connect_peer(&addr, Duration::from_secs(3)) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                     up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 487 | /                     thread::spawn(move || {
[INFO] [stdout] 488 | |                         if let Err(err) = handle_peer(stream, addr.clone(), true, s, c, p, a) {
[INFO] [stdout] 489 | |                             if !is_benign_disconnect(&err) { eprintln!("p2p outbound {addr} ended: {err:#}"); }
[INFO] [stdout] 490 | |                         }
[INFO] [stdout] 491 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 496 |
[INFO] [stdout] 497 |           if let Ok(disk_chain) = load_or_init_chain(&settings) {
[INFO] [stdout]     |                                   -----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 524 |                       let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                               -----------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 530 |                               let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                       -----------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                                   let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                           -----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |                               let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                       -----------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 546 |                   let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                           -----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 553 |                   if let Ok(report) = reconcile_pending_txs(&settings, &mut local) {
[INFO] [stdout]     |                                       --------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 554 |                       if report.reaccepted > 0 { let _ = save_chain(&settings, &local); }
[INFO] [stdout]     |                                                          -----------------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 569 |                   let _ = relay_tx_to_known_peers(&settings, &tx, None);
[INFO] [stdout]     |                           ---------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 577 |               let _ = hf90_auto_catchup(&settings, 120_000);
[INFO] [stdout]     |                       -------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |           println!("p2p status height={} tip={} mempool={} peers={} active={}", local.height(), local.tip_hash(), local.mempool.len(), peers.lock().expect("peer mutex poisoned").len(), active.lock().expect("active peer mutex poisoned").le...
[INFO] [stdout]     |                                                                                                                                        ------------------------------------------        --------------------------------------------------
[INFO] [stdout]     |                                                                                                                                        |                                                 |
[INFO] [stdout]     |                                                                                                                                        |                                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                                                                                                        |                                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                                                                                                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                                                                                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/p2p.rs:431:19
[INFO] [stdout]     |
[INFO] [stdout] 431 |               match listener.accept() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 432 |                   Ok((stream, addr)) => {
[INFO] [stdout]     |                       ------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `stream` calls a custom destructor
[INFO] [stdout]     |                       `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 442 | /                     thread::spawn(move || {
[INFO] [stdout] 443 | |                         let peer = addr.to_string();
[INFO] [stdout] 444 | |                         if let Err(err) = handle_peer(stream, peer.clone(), false, s, c, p, a) {
[INFO] [stdout] 445 | |                             if !is_benign_disconnect(&err) { eprintln!("p2p inbound {peer} ended: {err:#}"); }
[INFO] [stdout] 446 | |                         }
[INFO] [stdout] 447 | |                         inbound.fetch_sub(1, Ordering::Relaxed);
[INFO] [stdout] 448 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 456 |           });
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:2163:45
[INFO] [stdout]      |
[INFO] [stdout] 2119 |         let Ok(mut stream) = connect_peer(&addr, left.min(Duration::from_millis(3_000))) else {
[INFO] [stdout]      |                ----------    -----------------------------------------------------------
[INFO] [stdout]      |                |             |
[INFO] [stdout]      |                |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                `stream` calls a custom destructor
[INFO] [stdout]      |                `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2126 |         let mut reader = BufReader::new(stream.try_clone()?);
[INFO] [stdout]      |             ----------                  -------------------
[INFO] [stdout]      |             |                           |
[INFO] [stdout]      |             |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `reader` calls a custom destructor
[INFO] [stdout]      |             `reader` will be dropped later as of Edition 2024
[INFO] [stdout] 2127 |
[INFO] [stdout] 2128 |         let local_before = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                            --------------------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2133 |         let _ = send_version(&mut stream, settings, &local_before);
[INFO] [stdout]      |                 --------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 2134 |         let _ = send_wire(&mut stream, &WireMessage::GetHeaders { from_height });
[INFO] [stdout]      |                 ----------------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 2135 |         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height });
[INFO] [stdout]      |                 --------------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2157 |                     let mut local = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                                     --------------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2163 |                             if let Err(_) = candidate.connect_block(block, settings) { ok = false; break; }
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                             up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2164 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2173 |                         save_chain(settings, &local)?;
[INFO] [stdout]      |                         -----------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2187 |                         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height: next_from });
[INFO] [stdout]      |                                 -------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2195 |                     let cur = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                               --------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2202 |                         let _ = send_wire(&mut stream, &WireMessage::GetHeaders { from_height: next_from });
[INFO] [stdout]      |                                 ---------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 2203 |                         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height: next_from });
[INFO] [stdout]      |                                 -------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2215 |         let after = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                     --------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `reader` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:4283:39
[INFO] [stdout]      |
[INFO] [stdout] 4283 | ...         if let Err(err) = process_peer_message(&settings, &peer_key, message, &mut stream, &chain, &peers, &mut session) {
[INFO] [stdout]      |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                        |      |
[INFO] [stdout]      |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `err` calls a custom destructor
[INFO] [stdout]      |                        `err` will be dropped later as of Edition 2024
[INFO] [stdout] 4284 | ...             peer_errors = peer_errors.saturating_add(1);
[INFO] [stdout] 4285 | ...             let _ = send_wire(&mut stream, &WireMessage::Reject { reason: err.to_string() });
[INFO] [stdout]      |                         ------------------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4288 | ...     }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 4291 | ...             let local = chain.lock().expect("chain mutex poisoned").clone();
[INFO] [stdout]      |                             -------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4295 | ...             send_version(&mut stream, &settings, &local)?;
[INFO] [stdout]      |                 ---------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 4296 | ...             send_inv(&mut stream, &local)?;
[INFO] [stdout]      |                 ------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 4297 | ...             send_wire(&mut stream, &WireMessage::GetAddr)?;
[INFO] [stdout]      |                 ----------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 4298 | ...             send_wire(&mut stream, &WireMessage::GetPeerList)?;
[INFO] [stdout]      |                 --------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 4299 | ...             send_wire(&mut stream, &WireMessage::GetMempool)?;
[INFO] [stdout]      |                 -------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:5384:43
[INFO] [stdout]      |
[INFO] [stdout] 5379 | ...atch probe_peer(settings, addr, Duration::from_millis(HF80_PEER_STATUS_PROBE_MS)) {
[INFO] [stdout]      |         ----------------------------------------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5383 | ...       let _ = record_peer_observation(settings, addr, &info.node_id, &info.listen_addr, info.height, &info.tip_hash, &info.user_agent, &info.role, &info.miner_address);
[INFO] [stdout]      |                   ---------------------------------------------------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 5384 | ...       if let Ok(remote_peers) = fetch_peer_list(settings, addr, Duration::from_millis(HF80_PEER_STATUS_FETCH_MS)) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 5385 | ...           let _ = merge_peer_registry(settings, remote_peers);
[INFO] [stdout]      |                       -------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5393 | ...   }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 5394 | ...   Err(err) => { status.error = Some(err.to_string()); }
[INFO] [stdout]      |           ---
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `err` calls a custom destructor
[INFO] [stdout]      |           `err` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/p2p.rs:480:19
[INFO] [stdout]     |
[INFO] [stdout] 468 |               let p = peers.lock().expect("peer mutex poisoned");
[INFO] [stdout]     |                   -
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `p` calls a custom destructor
[INFO] [stdout]     |                   `p` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 476 |                   let a = active.lock().expect("active peer mutex poisoned");
[INFO] [stdout]     |                       -
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `a` calls a custom destructor
[INFO] [stdout]     |                       `a` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 480 |               match connect_peer(&addr, Duration::from_secs(3)) {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]     |                     up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 487 | /                     thread::spawn(move || {
[INFO] [stdout] 488 | |                         if let Err(err) = handle_peer(stream, addr.clone(), true, s, c, p, a) {
[INFO] [stdout] 489 | |                             if !is_benign_disconnect(&err) { eprintln!("p2p outbound {addr} ended: {err:#}"); }
[INFO] [stdout] 490 | |                         }
[INFO] [stdout] 491 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 495 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 496 |
[INFO] [stdout] 497 |           if let Ok(disk_chain) = load_or_init_chain(&settings) {
[INFO] [stdout]     |                                   -----------------------------
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 524 |                       let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                               -----------------------------
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                               `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 530 |                               let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                       -----------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                       `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 534 |                                   let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                           -----------------------------
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                           `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 538 |                               let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                                       -----------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                       `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 546 |                   let _ = save_chain(&settings, &local);
[INFO] [stdout]     |                           -----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     |                           `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 553 |                   if let Ok(report) = reconcile_pending_txs(&settings, &mut local) {
[INFO] [stdout]     |                                       --------------------------------------------
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     |                                       `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 554 |                       if report.reaccepted > 0 { let _ = save_chain(&settings, &local); }
[INFO] [stdout]     |                                                          -----------------------------
[INFO] [stdout]     |                                                          |
[INFO] [stdout]     |                                                          this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     |                                                          `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 569 |                   let _ = relay_tx_to_known_peers(&settings, &tx, None);
[INFO] [stdout]     |                           ---------------------------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     |                           `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 577 |               let _ = hf90_auto_catchup(&settings, 120_000);
[INFO] [stdout]     |                       -------------------------------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     |                       `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 581 |           println!("p2p status height={} tip={} mempool={} peers={} active={}", local.height(), local.tip_hash(), local.mempool.len(), peers.lock().expect("peer mutex poisoned").len(), active.lock().expect("active peer mutex poisoned").le...
[INFO] [stdout]     |                                                                                                                                        ------------------------------------------        --------------------------------------------------
[INFO] [stdout]     |                                                                                                                                        |                                                 |
[INFO] [stdout]     |                                                                                                                                        |                                                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                                                                                                                                        |                                                 `#13` will be dropped later as of Edition 2024
[INFO] [stdout]     |                                                                                                                                        this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     |                                                                                                                                        `#12` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `p` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `a` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/p2p.rs:431:19
[INFO] [stdout]     |
[INFO] [stdout] 431 |               match listener.accept() {
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 432 |                   Ok((stream, addr)) => {
[INFO] [stdout]     |                       ------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `stream` calls a custom destructor
[INFO] [stdout]     |                       `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 442 | /                     thread::spawn(move || {
[INFO] [stdout] 443 | |                         let peer = addr.to_string();
[INFO] [stdout] 444 | |                         if let Err(err) = handle_peer(stream, peer.clone(), false, s, c, p, a) {
[INFO] [stdout] 445 | |                             if !is_benign_disconnect(&err) { eprintln!("p2p inbound {peer} ended: {err:#}"); }
[INFO] [stdout] 446 | |                         }
[INFO] [stdout] 447 | |                         inbound.fetch_sub(1, Ordering::Relaxed);
[INFO] [stdout] 448 | |                     });
[INFO] [stdout]     | |                      -
[INFO] [stdout]     | |                      |
[INFO] [stdout]     | |______________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 456 |           });
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:2163:45
[INFO] [stdout]      |
[INFO] [stdout] 2119 |         let Ok(mut stream) = connect_peer(&addr, left.min(Duration::from_millis(3_000))) else {
[INFO] [stdout]      |                ----------    -----------------------------------------------------------
[INFO] [stdout]      |                |             |
[INFO] [stdout]      |                |             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                |             `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                `stream` calls a custom destructor
[INFO] [stdout]      |                `stream` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2126 |         let mut reader = BufReader::new(stream.try_clone()?);
[INFO] [stdout]      |             ----------                  -------------------
[INFO] [stdout]      |             |                           |
[INFO] [stdout]      |             |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |             |                           `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |             `reader` calls a custom destructor
[INFO] [stdout]      |             `reader` will be dropped later as of Edition 2024
[INFO] [stdout] 2127 |
[INFO] [stdout] 2128 |         let local_before = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                            --------------------------------------
[INFO] [stdout]      |                            |
[INFO] [stdout]      |                            this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                            `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2133 |         let _ = send_version(&mut stream, settings, &local_before);
[INFO] [stdout]      |                 --------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 2134 |         let _ = send_wire(&mut stream, &WireMessage::GetHeaders { from_height });
[INFO] [stdout]      |                 ----------------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 2135 |         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height });
[INFO] [stdout]      |                 --------------------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2157 |                     let mut local = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                                     --------------------------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                                     `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2163 |                             if let Err(_) = candidate.connect_block(block, settings) { ok = false; break; }
[INFO] [stdout]      |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                             |
[INFO] [stdout]      |                                             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]      |                                             up until Edition 2021 `#14` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 2164 |                         }
[INFO] [stdout]      |                         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 2173 |                         save_chain(settings, &local)?;
[INFO] [stdout]      |                         -----------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                         `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2187 |                         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height: next_from });
[INFO] [stdout]      |                                 -------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]      |                                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2195 |                     let cur = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                               --------------------------------------
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]      |                               `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2202 |                         let _ = send_wire(&mut stream, &WireMessage::GetHeaders { from_height: next_from });
[INFO] [stdout]      |                                 ---------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]      |                                 `#11` will be dropped later as of Edition 2024
[INFO] [stdout] 2203 |                         let _ = send_wire(&mut stream, &WireMessage::GetChain { from_height: next_from });
[INFO] [stdout]      |                                 -------------------------------------------------------------------------
[INFO] [stdout]      |                                 |
[INFO] [stdout]      |                                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]      |                                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 2215 |         let after = load_chain_for_hf90_catchup(settings)?;
[INFO] [stdout]      |                     --------------------------------------
[INFO] [stdout]      |                     |
[INFO] [stdout]      |                     this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]      |                     `#13` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `stream` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `reader` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/os/fd/owned.rs:196:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:4283:39
[INFO] [stdout]      |
[INFO] [stdout] 4283 | ...         if let Err(err) = process_peer_message(&settings, &peer_key, message, &mut stream, &chain, &peers, &mut session) {
[INFO] [stdout]      |                        ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                        |      |
[INFO] [stdout]      |                        |      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]      |                        |      up until Edition 2021 `#8` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]      |                        `err` calls a custom destructor
[INFO] [stdout]      |                        `err` will be dropped later as of Edition 2024
[INFO] [stdout] 4284 | ...             peer_errors = peer_errors.saturating_add(1);
[INFO] [stdout] 4285 | ...             let _ = send_wire(&mut stream, &WireMessage::Reject { reason: err.to_string() });
[INFO] [stdout]      |                         ------------------------------------------------------------------------
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4288 | ...     }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 4291 | ...             let local = chain.lock().expect("chain mutex poisoned").clone();
[INFO] [stdout]      |                             -------------------------------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 4295 | ...             send_version(&mut stream, &settings, &local)?;
[INFO] [stdout]      |                 ---------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 4296 | ...             send_inv(&mut stream, &local)?;
[INFO] [stdout]      |                 ------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 4297 | ...             send_wire(&mut stream, &WireMessage::GetAddr)?;
[INFO] [stdout]      |                 ----------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]      |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 4298 | ...             send_wire(&mut stream, &WireMessage::GetPeerList)?;
[INFO] [stdout]      |                 --------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]      |                 `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 4299 | ...             send_wire(&mut stream, &WireMessage::GetMempool)?;
[INFO] [stdout]      |                 -------------------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]      |                 `#7` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/poison/mutex.rs:741:0
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/p2p.rs:5384:43
[INFO] [stdout]      |
[INFO] [stdout] 5379 | ...atch probe_peer(settings, addr, Duration::from_millis(HF80_PEER_STATUS_PROBE_MS)) {
[INFO] [stdout]      |         ----------------------------------------------------------------------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5383 | ...       let _ = record_peer_observation(settings, addr, &info.node_id, &info.listen_addr, info.height, &info.tip_hash, &info.user_agent, &info.role, &info.miner_address);
[INFO] [stdout]      |                   ---------------------------------------------------------------------------------------------------------------------------------------------------------
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 5384 | ...       if let Ok(remote_peers) = fetch_peer_list(settings, addr, Duration::from_millis(HF80_PEER_STATUS_FETCH_MS)) {
[INFO] [stdout]      |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                     up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 5385 | ...           let _ = merge_peer_registry(settings, remote_peers);
[INFO] [stdout]      |                       -------------------------------------------
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                       `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 5393 | ...   }
[INFO] [stdout]      |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 5394 | ...   Err(err) => { status.error = Some(err.to_string()); }
[INFO] [stdout]      |           ---
[INFO] [stdout]      |           |
[INFO] [stdout]      |           `err` calls a custom destructor
[INFO] [stdout]      |           `err` will be dropped later as of Edition 2024
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Migrating tests/v1_core.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/bin/qub_core.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating src/main.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/bin/qub_core.rs (3 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/bin/qub_core.rs:1390:32
[INFO] [stdout]      |
[INFO] [stdout] 1390 |             if let Some(tex) = load_asset_texture(ctx, path, &format!("ui-icon-{key}")) {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1391 |                 textures.insert(key.to_string(), tex);
[INFO] [stdout]      |                 -------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 1392 |             }
[INFO] [stdout] 1393 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/epaint-0.34.1/src/texture_handle.rs:25:1
[INFO] [stdout]      |
[INFO] [stdout]   25 | impl Drop for TextureHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/epaint-0.34.1/src/texture_handle.rs:25:1
[INFO] [stdout]      |
[INFO] [stdout]   25 | impl Drop for TextureHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11219:15
[INFO] [stdout]       |
[INFO] [stdout] 11219 |         match run_miner_inner(config_path.clone(), payout.clone(), cpu_percent, gpu_percent, gpu_device_selector.clone(), pace_to_target_spacing, &events, stop.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 11220 |             Ok(_) => break,
[INFO] [stdout] 11221 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11229 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11236:15
[INFO] [stdout]       |
[INFO] [stdout] 11236 |         match run_pool_miner_inner(config_path.clone(), pool_id_s.clone(), miner_address.clone(), cpu_percent, gpu_percent, gpu_device_selector.clone(), &events, stop.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 11237 |             Ok(_) => break,
[INFO] [stdout] 11238 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11246 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11264:19
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11264 |             match p2p::mining_safety_check(&settings) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                   up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11278 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11279 |
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11284:19
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 11283 |         if settings.p2p.enabled {
[INFO] [stdout] 11284 |             match p2p::mining_parent_guard(&settings, chain.height(), chain.tip_hash()) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                   up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11298 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11439:35
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                            |      |
[INFO] [stdout]       |                            |      this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                            |      up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11443 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11456:23
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] 11455 |             if settings.p2p.enabled {
[INFO] [stdout] 11456 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                       up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 11460 |                 }
[INFO] [stdout] 11461 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11463:37
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11463 |                 if let Ok(report) = p2p::sync_until_converged(&settings, 2, 150) {
[INFO] [stdout]       |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                     |
[INFO] [stdout]       |                                     this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                                     up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11468 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11469 |             let jin_reward_units = block_jin_fee_units(&settings, &relay_block);
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11500:19
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11500 |             match p2p::mining_safety_check(&settings) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                   up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11514 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11517:19
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11516 |         if settings.p2p.enabled {
[INFO] [stdout] 11517 |             match p2p::mining_parent_guard(&settings, base_chain.height(), base_chain.tip_hash()) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                   up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11531 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11532 |         if pace_to_target_spacing {
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11535:34
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 11534 |             if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11535 |             if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                  |
[INFO] [stdout]       |                                  this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                                  up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11541 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11684:35
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                            |      |
[INFO] [stdout]       |                            |      this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                            |      up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11688 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11708:37
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] 11707 |                 }
[INFO] [stdout] 11708 |                 if let Ok(report) = p2p::sync_until_converged(&settings, 2, 150) {
[INFO] [stdout]       |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                     |
[INFO] [stdout]       |                                     this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                                     up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11713 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11714 |             let jin_reward_units = block_jin_fee_units(&settings, &relay_block);
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11952:31
[INFO] [stdout]       |
[INFO] [stdout] 11885 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11900 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11952 |                         match verify_header_pow(&block.header) {
[INFO] [stdout]       |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11961 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11965 |                     }
[INFO] [stdout]       |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11915:19
[INFO] [stdout]       |
[INFO] [stdout] 11885 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11900 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11915 |             match backend.scan_nonce_range(&prefix, &target, start_nonce, batch) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11961 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11968 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11973 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12032:23
[INFO] [stdout]       |
[INFO] [stdout] 11997 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12005 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12013 |         let mut header_bytes = match header_bytes_for_mining(&block.header) {
[INFO] [stdout]       |                                      --------------------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12032 |                 match verify_header_pow(&block.header) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12042 |                     Err(err) => {
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         `err` calls a custom destructor
[INFO] [stdout]       |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12048 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12170:31
[INFO] [stdout]       |
[INFO] [stdout] 12103 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12118 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12170 |                         match verify_header_pow(&block.header) {
[INFO] [stdout]       |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12179 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12183 |                     }
[INFO] [stdout]       |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12133:19
[INFO] [stdout]       |
[INFO] [stdout] 12103 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12118 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12133 |             match backend.scan_nonce_range(&prefix, &target, start_nonce, batch) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12179 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12186 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12191 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12249:23
[INFO] [stdout]       |
[INFO] [stdout] 12214 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12222 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12230 |         let mut header_bytes = match header_bytes_for_mining(&block.header) {
[INFO] [stdout]       |                                      --------------------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12249 |                 match verify_header_pow(&block.header) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12259 |                     Err(err) => {
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         `err` calls a custom destructor
[INFO] [stdout]       |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12265 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12956:15
[INFO] [stdout]       |
[INFO] [stdout] 12956 |         match ethereum_rpc_call_hf102(&url, method, params.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 12957 |             Ok(v) => return Ok(v),
[INFO] [stdout] 12958 |             Err(err) => last = Some(format!("{url}: {err:#}")),
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] 12959 |         }
[INFO] [stdout] 12960 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |         match p2p::broadcast_tx(settings, tx) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 318 |             Ok(sent) => peers_total = peers_total.saturating_add(sent),
[INFO] [stdout] 319 |             Err(err) => eprintln!("relay warning for {}: {err:#}", tx.txid()),
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] 320 |         }
[INFO] [stdout] 321 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:890:15
[INFO] [stdout]     |
[INFO] [stdout] 876 |           p2p::mining_safety_check(settings).with_context(|| "mining safety check failed")?;
[INFO] [stdout]     |           ---------------------------------------------------------------------------------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 877 |           chain = load_or_init_chain(settings)?;
[INFO] [stdout]     |                   -----------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 878 |           match create_local_pool_share(settings, &mut chain, pool_id, &key, start_nonce) {
[INFO] [stdout]     |                 -------------------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 882 |                   chain = load_or_init_chain(settings)?;
[INFO] [stdout]     |                           -----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 883 |               }
[INFO] [stdout] 884 |               Err(err) => eprintln!("pool share warning: {err:#}"),
[INFO] [stdout]     |                   ---
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `err` calls a custom destructor
[INFO] [stdout]     |                   `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 887 | /             p2p::mining_parent_guard(settings, chain.height(), chain.tip_hash())
[INFO] [stdout] 888 | |                 .with_context(|| "pool mining candidate parent guard failed")?;
[INFO] [stdout]     | |                                                                              -
[INFO] [stdout]     | |                                                                              |
[INFO] [stdout]     | |______________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 889 |           }
[INFO] [stdout] 890 |           match mine_next_pool_block(&chain, settings, pool_id, MiningOptions::from_settings(settings)) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                 up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 895 | /                     p2p::mining_parent_submit_guard(settings, candidate_parent_height, candidate_parent_hash)
[INFO] [stdout] 896 | |                         .with_context(|| "pool block submit guard failed")?;
[INFO] [stdout]     | |                                                                           -
[INFO] [stdout]     | |___________________________________________________________________________|
[INFO] [stdout]     | |___________________________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 897 |                   }
[INFO] [stdout] 898 | |                 chain = load_or_init_chain(settings)?;
[INFO] [stdout]     | |                         -----------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 903 | |                 let hash = chain.connect_block(block, settings)?;
[INFO] [stdout]     | |                            -------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                            `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 904 | |                 save_chain(settings, &chain)?;
[INFO] [stdout]     | |                 -----------------------------
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 905 | |                 match p2p::broadcast_block(settings, &relay_block) {
[INFO] [stdout]     | |                       --------------------------------------------
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                       `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 908 | |                     Err(err) => eprintln!("p2p relay warning: {err:#}"),
[INFO] [stdout]     | |                         ---
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 912 | |             Err(err) => {
[INFO] [stdout]     | |                 ---
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 922 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:317:15
[INFO] [stdout]     |
[INFO] [stdout] 317 |         match p2p::broadcast_tx(settings, tx) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 318 |             Ok(sent) => peers_total = peers_total.saturating_add(sent),
[INFO] [stdout] 319 |             Err(err) => eprintln!("relay warning for {}: {err:#}", tx.txid()),
[INFO] [stdout]     |                 ---
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `err` calls a custom destructor
[INFO] [stdout]     |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] 320 |         }
[INFO] [stdout] 321 |     }
[INFO] [stdout]     |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/main.rs:890:15
[INFO] [stdout]     |
[INFO] [stdout] 876 |           p2p::mining_safety_check(settings).with_context(|| "mining safety check failed")?;
[INFO] [stdout]     |           ---------------------------------------------------------------------------------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |           `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 877 |           chain = load_or_init_chain(settings)?;
[INFO] [stdout]     |                   -----------------------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                   `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 878 |           match create_local_pool_share(settings, &mut chain, pool_id, &key, start_nonce) {
[INFO] [stdout]     |                 -------------------------------------------------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 882 |                   chain = load_or_init_chain(settings)?;
[INFO] [stdout]     |                           -----------------------------
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                           `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 883 |               }
[INFO] [stdout] 884 |               Err(err) => eprintln!("pool share warning: {err:#}"),
[INFO] [stdout]     |                   ---
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `err` calls a custom destructor
[INFO] [stdout]     |                   `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 887 | /             p2p::mining_parent_guard(settings, chain.height(), chain.tip_hash())
[INFO] [stdout] 888 | |                 .with_context(|| "pool mining candidate parent guard failed")?;
[INFO] [stdout]     | |                                                                              -
[INFO] [stdout]     | |                                                                              |
[INFO] [stdout]     | |______________________________________________________________________________this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]     |                                                                                `#5` will be dropped later as of Edition 2024
[INFO] [stdout] 889 |           }
[INFO] [stdout] 890 |           match mine_next_pool_block(&chain, settings, pool_id, MiningOptions::from_settings(settings)) {
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]     |                 up until Edition 2021 `#13` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 895 | /                     p2p::mining_parent_submit_guard(settings, candidate_parent_height, candidate_parent_hash)
[INFO] [stdout] 896 | |                         .with_context(|| "pool block submit guard failed")?;
[INFO] [stdout]     | |                                                                           -
[INFO] [stdout]     | |___________________________________________________________________________|
[INFO] [stdout]     | |___________________________________________________________________________this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]     |                                                                             `#6` will be dropped later as of Edition 2024
[INFO] [stdout] 897 |                   }
[INFO] [stdout] 898 | |                 chain = load_or_init_chain(settings)?;
[INFO] [stdout]     | |                         -----------------------------
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]     | |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 903 | |                 let hash = chain.connect_block(block, settings)?;
[INFO] [stdout]     | |                            -------------------------------------
[INFO] [stdout]     | |                            |
[INFO] [stdout]     | |                            this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]     | |                            `#8` will be dropped later as of Edition 2024
[INFO] [stdout] 904 | |                 save_chain(settings, &chain)?;
[INFO] [stdout]     | |                 -----------------------------
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]     | |                 `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 905 | |                 match p2p::broadcast_block(settings, &relay_block) {
[INFO] [stdout]     | |                       --------------------------------------------
[INFO] [stdout]     | |                       |
[INFO] [stdout]     | |                       this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]     | |                       `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 908 | |                     Err(err) => eprintln!("p2p relay warning: {err:#}"),
[INFO] [stdout]     | |                         ---
[INFO] [stdout]     | |                         |
[INFO] [stdout]     | |                         this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]     | |                         `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 912 | |             Err(err) => {
[INFO] [stdout]     | |                 ---
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |                 this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]     | |                 `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...   |
[INFO] [stdout] 922 | |     }
[INFO] [stdout]     | |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/bin/qub_core.rs:1390:32
[INFO] [stdout]      |
[INFO] [stdout] 1390 |             if let Some(tex) = load_asset_texture(ctx, path, &format!("ui-icon-{key}")) {
[INFO] [stdout]      |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                |
[INFO] [stdout]      |                                this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                                up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 1391 |                 textures.insert(key.to_string(), tex);
[INFO] [stdout]      |                 -------------------------------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 1392 |             }
[INFO] [stdout] 1393 |         }
[INFO] [stdout]      |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/epaint-0.34.1/src/texture_handle.rs:25:1
[INFO] [stdout]      |
[INFO] [stdout]   25 | impl Drop for TextureHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/epaint-0.34.1/src/texture_handle.rs:25:1
[INFO] [stdout]      |
[INFO] [stdout]   25 | impl Drop for TextureHandle {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11219:15
[INFO] [stdout]       |
[INFO] [stdout] 11219 |         match run_miner_inner(config_path.clone(), payout.clone(), cpu_percent, gpu_percent, gpu_device_selector.clone(), pace_to_target_spacing, &events, stop.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 11220 |             Ok(_) => break,
[INFO] [stdout] 11221 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11229 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11236:15
[INFO] [stdout]       |
[INFO] [stdout] 11236 |         match run_pool_miner_inner(config_path.clone(), pool_id_s.clone(), miner_address.clone(), cpu_percent, gpu_percent, gpu_device_selector.clone(), &events, stop.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 11237 |             Ok(_) => break,
[INFO] [stdout] 11238 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11246 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11264:19
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11264 |             match p2p::mining_safety_check(&settings) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                   up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11278 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11279 |
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11284:19
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 11283 |         if settings.p2p.enabled {
[INFO] [stdout] 11284 |             match p2p::mining_parent_guard(&settings, chain.height(), chain.tip_hash()) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                   up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11298 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11439:35
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                            |      |
[INFO] [stdout]       |                            |      this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                            |      up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11443 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11456:23
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] 11455 |             if settings.p2p.enabled {
[INFO] [stdout] 11456 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                       up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] 11460 |                 }
[INFO] [stdout] 11461 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11463:37
[INFO] [stdout]       |
[INFO] [stdout] 11260 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11269 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11280 |         let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11281 |         let wallet = load_or_init_wallet(&settings)?;
[INFO] [stdout]       |                      -------------------------------
[INFO] [stdout]       |                      |
[INFO] [stdout]       |                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] 11282 |         let key = wallet_key_for_gui_pool(&settings, &wallet, &miner_address)?;
[INFO] [stdout]       |                   ------------------------------------------------------------
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11289 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11299 |         match create_gui_local_pool_share(&settings, &mut chain, pool_id, &key, share_nonce_start) {
[INFO] [stdout]       |               ------------------------------------------------------------------------------------
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |               `#6` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11303 |                 chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                         ------------------------------
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                         `#7` will be dropped later as of Edition 2024
[INFO] [stdout] 11304 |             }
[INFO] [stdout] 11305 |             Err(err) => {
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                 `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11320 |         if !wait_for_target_spacing(&chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |             --------------------------------------------------------------------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |             `#9` will be dropped later as of Edition 2024
[INFO] [stdout] 11321 |         if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11322 |         if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                              -----------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                              `#10` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11340 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                        |           `#11` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11382 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                                      `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11401 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                                      `#13` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11425 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                     |               `#15` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |                     `#14` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11439 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                            `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11444 |             let mut active = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                              ------------------------------
[INFO] [stdout]       |                              |
[INFO] [stdout]       |                              this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                              `#17` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11452 |             let hash = active.connect_block(block, &settings)?;
[INFO] [stdout]       |                        ---------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                        `#18` will be dropped later as of Edition 2024
[INFO] [stdout] 11453 |             let height = active.height();
[INFO] [stdout] 11454 |             save_chain(&settings, &active)?;
[INFO] [stdout]       |             -------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |             `#19` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11459 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#20`
[INFO] [stdout]       |                         `#20` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11463 |                 if let Ok(report) = p2p::sync_until_converged(&settings, 2, 150) {
[INFO] [stdout]       |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                     |
[INFO] [stdout]       |                                     this value will be stored in a temporary; let us call it `#23`
[INFO] [stdout]       |                                     up until Edition 2021 `#23` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11468 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11469 |             let jin_reward_units = block_jin_fee_units(&settings, &relay_block);
[INFO] [stdout] 11470 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#21`
[INFO] [stdout]       |                                                     `#21` will be dropped later as of Edition 2024
[INFO] [stdout] 11471 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#22`
[INFO] [stdout]       |                                `#22` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#23` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#10` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#15` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#20` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#21` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#22` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11500:19
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11500 |             match p2p::mining_safety_check(&settings) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                   up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11514 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11517:19
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 11516 |         if settings.p2p.enabled {
[INFO] [stdout] 11517 |             match p2p::mining_parent_guard(&settings, base_chain.height(), base_chain.tip_hash()) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                   up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11531 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11532 |         if pace_to_target_spacing {
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11535:34
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 11534 |             if stop.load(Ordering::Relaxed) { break; }
[INFO] [stdout] 11535 |             if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                  |
[INFO] [stdout]       |                                  this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                                  up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11541 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11684:35
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                            |      |
[INFO] [stdout]       |                            |      this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                            |      up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11688 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11708:37
[INFO] [stdout]       |
[INFO] [stdout] 11496 |         let mut settings = load_gui_settings(&config_path)?;
[INFO] [stdout]       |                            --------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                            `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11505 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     `err` calls a custom destructor
[INFO] [stdout]       |                     `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11515 |         let base_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                          ------------------------------
[INFO] [stdout]       |                          |
[INFO] [stdout]       |                          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                          `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11522 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11533 |             if !wait_for_target_spacing(&base_chain, &settings, events, &stop, &mut hf119_last_policy_paced_tip)? { continue; }
[INFO] [stdout]       |                 -------------------------------------------------------------------------------------------------
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11542 |         let miner = Address::parse_with_prefix(&payout, &settings.network.address_prefix)?;
[INFO] [stdout]       |                     ----------------------------------------------------------------------
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]       |                     `#5` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11549 |         let (found_tx, found_rx) = mpsc::channel::<Block>();
[INFO] [stdout]       |                        --------    ------------------------
[INFO] [stdout]       |                        |           |
[INFO] [stdout]       |                        |           this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]       |                        |           `#6` will be dropped later as of Edition 2024
[INFO] [stdout]       |                        `found_rx` calls a custom destructor
[INFO] [stdout]       |                        `found_rx` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11627 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#7`
[INFO] [stdout]       |                                      `#7` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11646 |                 if let Ok(current) = load_or_init_chain(&settings) {
[INFO] [stdout]       |                                      -----------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#8`
[INFO] [stdout]       |                                      `#8` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11670 |         for join in joins { let _ = join.join(); }
[INFO] [stdout]       |                     -----           -----------
[INFO] [stdout]       |                     |               |
[INFO] [stdout]       |                     |               this value will be stored in a temporary; let us call it `#10`
[INFO] [stdout]       |                     |               `#10` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     `iter` calls a custom destructor
[INFO] [stdout]       |                     `iter` will be dropped later as of Edition 2024
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#9`
[INFO] [stdout]       |                     `#9` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11684 |                 if let Err(err) = p2p::mining_parent_submit_guard(&settings, candidate_parent_height, candidate_parent_hash) {
[INFO] [stdout]       |                            ---
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#11`
[INFO] [stdout]       |                            `#11` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11689 |             let mut chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                             ------------------------------
[INFO] [stdout]       |                             |
[INFO] [stdout]       |                             this value will be stored in a temporary; let us call it `#12`
[INFO] [stdout]       |                             `#12` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11699 |             let hash = chain.connect_block(block, &settings)?;
[INFO] [stdout]       |                        --------------------------------------
[INFO] [stdout]       |                        |
[INFO] [stdout]       |                        this value will be stored in a temporary; let us call it `#13`
[INFO] [stdout]       |                        `#13` will be dropped later as of Edition 2024
[INFO] [stdout] 11700 |             let height = chain.height();
[INFO] [stdout] 11701 |             save_chain(&settings, &chain)?;
[INFO] [stdout]       |             ------------------------------
[INFO] [stdout]       |             |
[INFO] [stdout]       |             this value will be stored in a temporary; let us call it `#14`
[INFO] [stdout]       |             `#14` will be dropped later as of Edition 2024
[INFO] [stdout] 11702 |             if settings.p2p.enabled {
[INFO] [stdout] 11703 |                 match p2p::broadcast_block(&settings, &relay_block) {
[INFO] [stdout]       |                       ---------------------------------------------
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#15`
[INFO] [stdout]       |                       `#15` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11706 |                     Err(err) => { let _ = events.send(MinerEvent::Status(format!("P2P relay warning: {err:#}"))); }
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         this value will be stored in a temporary; let us call it `#16`
[INFO] [stdout]       |                         `#16` will be dropped later as of Edition 2024
[INFO] [stdout] 11707 |                 }
[INFO] [stdout] 11708 |                 if let Ok(report) = p2p::sync_until_converged(&settings, 2, 150) {
[INFO] [stdout]       |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                                     |
[INFO] [stdout]       |                                     this value will be stored in a temporary; let us call it `#19`
[INFO] [stdout]       |                                     up until Edition 2021 `#19` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11713 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 11714 |             let jin_reward_units = block_jin_fee_units(&settings, &relay_block);
[INFO] [stdout] 11715 |             let reward = format!("{} QUB + {} JIN", Amount::from_atoms(reward_atoms)?, format_jin_amount(jin_reward_units));
[INFO] [stdout]       |                                                     ---------------------------------
[INFO] [stdout]       |                                                     |
[INFO] [stdout]       |                                                     this value will be stored in a temporary; let us call it `#17`
[INFO] [stdout]       |                                                     `#17` will be dropped later as of Edition 2024
[INFO] [stdout] 11716 |             let active_chain = load_or_init_chain(&settings)?;
[INFO] [stdout]       |                                ------------------------------
[INFO] [stdout]       |                                |
[INFO] [stdout]       |                                this value will be stored in a temporary; let us call it `#18`
[INFO] [stdout]       |                                `#18` will be dropped later as of Edition 2024
[INFO] [stdout]       |
[INFO] [stdout] note: `#19` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#5` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `found_rx` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:1411:0
[INFO] [stdout] note: `#6` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sync/mpmc/mod.rs:657:0
[INFO] [stdout] note: `#7` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#8` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `iter` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/thread/lifecycle.rs:171:0
[INFO] [stdout] note: `#9` invokes this custom destructor
[INFO] [stdout]      --> /rustc/622891a4e29178280638a6b63a8908bde2c0c854/library/std/src/sys/thread/unix.rs:140:0
[INFO] [stdout]       = note: `#10` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#11` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#12` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#13` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#14` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#15` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#16` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#17` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#18` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11952:31
[INFO] [stdout]       |
[INFO] [stdout] 11885 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11900 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11952 |                         match verify_header_pow(&block.header) {
[INFO] [stdout]       |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11961 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11965 |                     }
[INFO] [stdout]       |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:11915:19
[INFO] [stdout]       |
[INFO] [stdout] 11885 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11900 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11915 |             match backend.scan_nonce_range(&prefix, &target, start_nonce, batch) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11961 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11968 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 11973 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 18s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12032:23
[INFO] [stdout]       |
[INFO] [stdout] 11997 |         let mut block = match build_candidate_block(&base_chain, &settings, &miner, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12005 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12013 |         let mut header_bytes = match header_bytes_for_mining(&block.header) {
[INFO] [stdout]       |                                      --------------------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12032 |                 match verify_header_pow(&block.header) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12042 |                     Err(err) => {
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         `err` calls a custom destructor
[INFO] [stdout]       |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12048 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12170:31
[INFO] [stdout]       |
[INFO] [stdout] 12103 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12118 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12170 |                         match verify_header_pow(&block.header) {
[INFO] [stdout]       |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                               up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12179 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12183 |                     }
[INFO] [stdout]       |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12133:19
[INFO] [stdout]       |
[INFO] [stdout] 12103 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12118 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12133 |             match backend.scan_nonce_range(&prefix, &target, start_nonce, batch) {
[INFO] [stdout]       |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                   |
[INFO] [stdout]       |                   this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                   up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12179 |                             Err(err) => {
[INFO] [stdout]       |                                 ---
[INFO] [stdout]       |                                 |
[INFO] [stdout]       |                                 `err` calls a custom destructor
[INFO] [stdout]       |                                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12186 |                 Err(err) => {
[INFO] [stdout]       |                     ---
[INFO] [stdout]       |                     |
[INFO] [stdout]       |                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12191 |         }
[INFO] [stdout]       |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12249:23
[INFO] [stdout]       |
[INFO] [stdout] 12214 |         let mut block = match build_candidate_pool_block(&base_chain, &settings, pool_id, extra_nonce) {
[INFO] [stdout]       |                               ------------------------------------------------------------------------
[INFO] [stdout]       |                               |
[INFO] [stdout]       |                               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |                               `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12222 |         let target = match target_from_compact(block.header.bits) {
[INFO] [stdout]       |                            --------------------------------------
[INFO] [stdout]       |                            |
[INFO] [stdout]       |                            this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]       |                            `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12230 |         let mut header_bytes = match header_bytes_for_mining(&block.header) {
[INFO] [stdout]       |                                      --------------------------------------
[INFO] [stdout]       |                                      |
[INFO] [stdout]       |                                      this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]       |                                      `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12249 |                 match verify_header_pow(&block.header) {
[INFO] [stdout]       |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |                       |
[INFO] [stdout]       |                       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]       |                       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12259 |                     Err(err) => {
[INFO] [stdout]       |                         ---
[INFO] [stdout]       |                         |
[INFO] [stdout]       |                         `err` calls a custom destructor
[INFO] [stdout]       |                         `err` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 12265 |             }
[INFO] [stdout]       |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]      --> src/bin/qub_core.rs:12956:15
[INFO] [stdout]       |
[INFO] [stdout] 12956 |         match ethereum_rpc_call_hf102(&url, method, params.clone()) {
[INFO] [stdout]       |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |               |
[INFO] [stdout]       |               this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]       |               up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 12957 |             Ok(v) => return Ok(v),
[INFO] [stdout] 12958 |             Err(err) => last = Some(format!("{url}: {err:#}")),
[INFO] [stdout]       |                 ---
[INFO] [stdout]       |                 |
[INFO] [stdout]       |                 `err` calls a custom destructor
[INFO] [stdout]       |                 `err` will be dropped later as of Edition 2024
[INFO] [stdout] 12959 |         }
[INFO] [stdout] 12960 |     }
[INFO] [stdout]       |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]       |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `err` invokes this custom destructor
[INFO] [stdout]      --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]       |
[INFO] [stdout]   713 | impl Drop for Error {
[INFO] [stdout]       | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]       = warning: this changes meaning in Rust 2024
[INFO] [stdout]       = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: qubd v1.7.6 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]    Compiling qubd v1.7.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `accept_transaction_preview` is never used
[INFO] [stdout]    --> src/lib.rs:684:8
[INFO] [stdout]     |
[INFO] [stdout] 507 | impl ChainState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 684 |     fn accept_transaction_preview(&self, tx: &Transaction, settings: &Settings) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RELAY_REACHABILITY_CACHE_SECS` is never used
[INFO] [stdout]   --> src/p2p.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const RELAY_REACHABILITY_CACHE_SECS: u64 = 300;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_GUARD_SYNC_ROUNDS` is never used
[INFO] [stdout]   --> src/p2p.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MINING_GUARD_SYNC_ROUNDS: usize = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_GUARD_SYNC_SLEEP_MS` is never used
[INFO] [stdout]   --> src/p2p.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MINING_GUARD_SYNC_SLEEP_MS: u64 = 250;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFFICIAL_SNAPSHOT_SYNC_TIMEOUT_MS` is never used
[INFO] [stdout]   --> src/p2p.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const OFFICIAL_SNAPSHOT_SYNC_TIMEOUT_MS: u64 = 20_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_known_live_tip` is never used
[INFO] [stdout]     --> src/p2p.rs:1298:4
[INFO] [stdout]      |
[INFO] [stdout] 1298 | fn best_known_live_tip(settings: &Settings, report: &mut P2PSyncReport, timeout_ms: u64) -> (usize, u32, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hf88_chain_moved` is never used
[INFO] [stdout]     --> src/p2p.rs:1580:4
[INFO] [stdout]      |
[INFO] [stdout] 1580 | fn hf88_chain_moved(settings: &Settings, before_h: u32, before_tip: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hf80_fast_official_catchup` is never used
[INFO] [stdout]     --> src/p2p.rs:2044:4
[INFO] [stdout]      |
[INFO] [stdout] 2044 | fn hf80_fast_official_catchup(settings: &Settings, report: &mut P2PSyncReport, local: &mut ChainState, total_timeout_ms: u64) -> R...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `accept_transaction_preview` is never used
[INFO] [stdout]    --> src/lib.rs:684:8
[INFO] [stdout]     |
[INFO] [stdout] 507 | impl ChainState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 684 |     fn accept_transaction_preview(&self, tx: &Transaction, settings: &Settings) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RELAY_REACHABILITY_CACHE_SECS` is never used
[INFO] [stdout]   --> src/p2p.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const RELAY_REACHABILITY_CACHE_SECS: u64 = 300;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_GUARD_SYNC_ROUNDS` is never used
[INFO] [stdout]   --> src/p2p.rs:23:7
[INFO] [stdout]    |
[INFO] [stdout] 23 | const MINING_GUARD_SYNC_ROUNDS: usize = 20;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_GUARD_SYNC_SLEEP_MS` is never used
[INFO] [stdout]   --> src/p2p.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const MINING_GUARD_SYNC_SLEEP_MS: u64 = 250;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OFFICIAL_SNAPSHOT_SYNC_TIMEOUT_MS` is never used
[INFO] [stdout]   --> src/p2p.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const OFFICIAL_SNAPSHOT_SYNC_TIMEOUT_MS: u64 = 20_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_known_live_tip` is never used
[INFO] [stdout]     --> src/p2p.rs:1298:4
[INFO] [stdout]      |
[INFO] [stdout] 1298 | fn best_known_live_tip(settings: &Settings, report: &mut P2PSyncReport, timeout_ms: u64) -> (usize, u32, String) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hf88_chain_moved` is never used
[INFO] [stdout]     --> src/p2p.rs:1580:4
[INFO] [stdout]      |
[INFO] [stdout] 1580 | fn hf88_chain_moved(settings: &Settings, before_h: u32, before_tip: &str) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hf80_fast_official_catchup` is never used
[INFO] [stdout]     --> src/p2p.rs:2044:4
[INFO] [stdout]      |
[INFO] [stdout] 2044 | fn hf80_fast_official_catchup(settings: &Settings, report: &mut P2PSyncReport, local: &mut ChainState, total_timeout_ms: u64) -> R...
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `One`
[INFO] [stdout]  --> src/bin/qub_core.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::{One, Zero, ToPrimitive, Num};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnceLock`
[INFO] [stdout]   --> src/bin/qub_core.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{mpsc, Arc, OnceLock};
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{anyhow, bail, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `c_char`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ffi::{c_char, c_void};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `One`
[INFO] [stdout]  --> src/bin/qub_core.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use num_traits::{One, Zero, ToPrimitive, Num};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OnceLock`
[INFO] [stdout]   --> src/bin/qub_core.rs:18:28
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::sync::{mpsc, Arc, OnceLock};
[INFO] [stdout]    |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use anyhow::{anyhow, bail, Result};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `c_char`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::ffi::{c_char, c_void};
[INFO] [stdout]    |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ptr`
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::ptr;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2265:63
[INFO] [stdout]      |
[INFO] [stdout] 2265 |         painter.rect_stroke(rect, rounding, egui::Stroke::new(1.0, outline), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]      = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2276:39
[INFO] [stdout]      |
[INFO] [stdout] 2276 |                     egui::Stroke::new(1.8, egui::Color32::from_rgba_unmultiplied(235, 255, 235, 185)),
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `1.8_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2265:63
[INFO] [stdout]      |
[INFO] [stdout] 2265 |         painter.rect_stroke(rect, rounding, egui::Stroke::new(1.0, outline), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]      = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2276:39
[INFO] [stdout]      |
[INFO] [stdout] 2276 |                     egui::Stroke::new(1.8, egui::Color32::from_rgba_unmultiplied(235, 255, 235, 185)),
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `1.8_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2307:64
[INFO] [stdout]      |
[INFO] [stdout] 2307 |                 painter.rect_stroke(rect, 8, egui::Stroke::new(1.0, outline), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2321:47
[INFO] [stdout]      |
[INFO] [stdout] 2321 | ...                   egui::Stroke::new(1.6, egui::Color32::from_rgba_unmultiplied(235, 255, 235, 180)),
[INFO] [stdout]      |                                         ^^^ help: explicitly specify the type as `f32`: `1.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2307:64
[INFO] [stdout]      |
[INFO] [stdout] 2307 |                 painter.rect_stroke(rect, 8, egui::Stroke::new(1.0, outline), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:2321:47
[INFO] [stdout]      |
[INFO] [stdout] 2321 | ...                   egui::Stroke::new(1.6, egui::Color32::from_rgba_unmultiplied(235, 255, 235, 180)),
[INFO] [stdout]      |                                         ^^^ help: explicitly specify the type as `f32`: `1.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:5664:66
[INFO] [stdout]      |
[INFO] [stdout] 5664 |                 painter.rect_stroke(rect, 4.0, egui::Stroke::new(1.0, egui::Color32::from_gray(70)), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:5664:66
[INFO] [stdout]      |
[INFO] [stdout] 5664 |                 painter.rect_stroke(rect, 4.0, egui::Stroke::new(1.0, egui::Color32::from_gray(70)), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                  ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::close_menu`: Use `ui.close()` or `ui.close_kind(UiKind::Menu)` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:6395:166
[INFO] [stdout]      |
[INFO] [stdout] 6395 | ...it { kind: "post".to_string(), id: post.id.clone() }); ui.close_menu(); }
[INFO] [stdout]      |                                                              ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::close_menu`: Use `ui.close()` or `ui.close_kind(UiKind::Menu)` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:6396:170
[INFO] [stdout]      |
[INFO] [stdout] 6396 | ...te { kind: "post".to_string(), id: post.id.clone() }); ui.close_menu(); }
[INFO] [stdout]      |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Panel::width_range`: Renamed size_range
[INFO] [stdout]     --> src/bin/qub_core.rs:6869:14
[INFO] [stdout]      |
[INFO] [stdout] 6869 |             .width_range(right_width..=right_width)
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::allocate_ui_at_rect`: Use `allocate_new_ui` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:7024:12
[INFO] [stdout]      |
[INFO] [stdout] 7024 |         ui.allocate_ui_at_rect(rect, |ui| {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:7053:70
[INFO] [stdout]      |
[INFO] [stdout] 7053 |                 painter.rect_stroke(bar_rect, 0.0, egui::Stroke::new(4.0, orange), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                      ^^^ help: explicitly specify the type as `f32`: `4.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::close_menu`: Use `ui.close()` or `ui.close_kind(UiKind::Menu)` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:6395:166
[INFO] [stdout]      |
[INFO] [stdout] 6395 | ...it { kind: "post".to_string(), id: post.id.clone() }); ui.close_menu(); }
[INFO] [stdout]      |                                                              ^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::close_menu`: Use `ui.close()` or `ui.close_kind(UiKind::Menu)` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:6396:170
[INFO] [stdout]      |
[INFO] [stdout] 6396 | ...te { kind: "post".to_string(), id: post.id.clone() }); ui.close_menu(); }
[INFO] [stdout]      |                                                              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Panel::width_range`: Renamed size_range
[INFO] [stdout]     --> src/bin/qub_core.rs:6869:14
[INFO] [stdout]      |
[INFO] [stdout] 6869 |             .width_range(right_width..=right_width)
[INFO] [stdout]      |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `eframe::egui::Ui::allocate_ui_at_rect`: Use `allocate_new_ui` instead
[INFO] [stdout]     --> src/bin/qub_core.rs:7024:12
[INFO] [stdout]      |
[INFO] [stdout] 7024 |         ui.allocate_ui_at_rect(rect, |ui| {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:7053:70
[INFO] [stdout]      |
[INFO] [stdout] 7053 |                 painter.rect_stroke(bar_rect, 0.0, egui::Stroke::new(4.0, orange), egui::StrokeKind::Inside);
[INFO] [stdout]      |                                                                      ^^^ help: explicitly specify the type as `f32`: `4.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9075:90
[INFO] [stdout]      |
[INFO] [stdout] 9075 |         painter.circle_stroke(local_pos, 18.0 + (t.sin() + 1.0) * 2.0, egui::Stroke::new(1.0, local_color));
[INFO] [stdout]      |                                                                                          ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9088:66
[INFO] [stdout]      |
[INFO] [stdout] 9088 |             painter.circle_stroke(pos, radius, egui::Stroke::new(1.6, color));
[INFO] [stdout]      |                                                                  ^^^ help: explicitly specify the type as `f32`: `1.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9107:94
[INFO] [stdout]      |
[INFO] [stdout] 9107 | ...i::Stroke::new(if peer.reachable { 1.1 } else { 0.6 }, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `1.1_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9107:107
[INFO] [stdout]      |
[INFO] [stdout] 9107 | ...w(if peer.reachable { 1.1 } else { 0.6 }, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9109:84
[INFO] [stdout]      |
[INFO] [stdout] 9109 |                 painter.circle_stroke(pos, radius + 4.0 + pulse, egui::Stroke::new(0.7, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                                                                    ^^^ help: explicitly specify the type as `f32`: `0.7_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9075:90
[INFO] [stdout]      |
[INFO] [stdout] 9075 |         painter.circle_stroke(local_pos, 18.0 + (t.sin() + 1.0) * 2.0, egui::Stroke::new(1.0, local_color));
[INFO] [stdout]      |                                                                                          ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9088:66
[INFO] [stdout]      |
[INFO] [stdout] 9088 |             painter.circle_stroke(pos, radius, egui::Stroke::new(1.6, color));
[INFO] [stdout]      |                                                                  ^^^ help: explicitly specify the type as `f32`: `1.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9107:94
[INFO] [stdout]      |
[INFO] [stdout] 9107 | ...i::Stroke::new(if peer.reachable { 1.1 } else { 0.6 }, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `1.1_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9107:107
[INFO] [stdout]      |
[INFO] [stdout] 9107 | ...w(if peer.reachable { 1.1 } else { 0.6 }, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                       ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]     --> src/bin/qub_core.rs:9109:84
[INFO] [stdout]      |
[INFO] [stdout] 9109 |                 painter.circle_stroke(pos, radius + 4.0 + pulse, egui::Stroke::new(0.7, color.linear_multiply(0.55)));
[INFO] [stdout]      |                                                                                    ^^^ help: explicitly specify the type as `f32`: `0.7_f32`
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]      = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12573:107
[INFO] [stdout]       |
[INFO] [stdout] 12573 |         painter.line_segment([egui::pos2(x, rect.top()), egui::pos2(x, rect.bottom())], egui::Stroke::new(0.6, grid));
[INFO] [stdout]       |                                                                                                           ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12577:107
[INFO] [stdout]       |
[INFO] [stdout] 12577 |         painter.line_segment([egui::pos2(rect.left(), y), egui::pos2(rect.right(), y)], egui::Stroke::new(0.6, grid));
[INFO] [stdout]       |                                                                                                           ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12588:53
[INFO] [stdout]       |
[INFO] [stdout] 12588 |     painter.rect_stroke(rect, 10, egui::Stroke::new(1.0, grid), egui::StrokeKind::Inside);
[INFO] [stdout]       |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12573:107
[INFO] [stdout]       |
[INFO] [stdout] 12573 |         painter.line_segment([egui::pos2(x, rect.top()), egui::pos2(x, rect.bottom())], egui::Stroke::new(0.6, grid));
[INFO] [stdout]       |                                                                                                           ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12577:107
[INFO] [stdout]       |
[INFO] [stdout] 12577 |         painter.line_segment([egui::pos2(rect.left(), y), egui::pos2(rect.right(), y)], egui::Stroke::new(0.6, grid));
[INFO] [stdout]       |                                                                                                           ^^^ help: explicitly specify the type as `f32`: `0.6_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]      --> src/bin/qub_core.rs:12588:53
[INFO] [stdout]       |
[INFO] [stdout] 12588 |     painter.rect_stroke(rect, 10, egui::Stroke::new(1.0, grid), egui::StrokeKind::Inside);
[INFO] [stdout]       |                                                     ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]       |
[INFO] [stdout]       = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]       = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `private_code` is never read
[INFO] [stdout]     --> src/bin/qub_core.rs:4166:44
[INFO] [stdout]      |
[INFO] [stdout] 4166 |                     let mut private_code = self.send_dialog.blast_private_code.trim().to_string();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4180 |                     private_code = generate_gui_blast_code();
[INFO] [stdout]      |                     ------------ `private_code` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `private_code` is never read
[INFO] [stdout]     --> src/bin/qub_core.rs:4166:44
[INFO] [stdout]      |
[INFO] [stdout] 4166 |                     let mut private_code = self.send_dialog.blast_private_code.trim().to_string();
[INFO] [stdout]      |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 4180 |                     private_code = generate_gui_blast_code();
[INFO] [stdout]      |                     ------------ `private_code` is overwritten here before the previous value is read
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]     --> src/bin/qub_core.rs:6613:39
[INFO] [stdout]      |
[INFO] [stdout] 6613 |     fn poll_library_action(&mut self, ctx: &egui::Context) {
[INFO] [stdout]      |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]     --> src/bin/qub_core.rs:6613:39
[INFO] [stdout]      |
[INFO] [stdout] 6613 |     fn poll_library_action(&mut self, ctx: &egui::Context) {
[INFO] [stdout]      |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/qub_core.rs:9555:9
[INFO] [stdout]      |
[INFO] [stdout] 9555 |     let mut handle_tx = |tx: &Transaction, height: Option<u32>, block_time: u32, status_override: Option<&str>, block_jin_reward_u...
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/bin/qub_core.rs:11339:13
[INFO] [stdout]       |
[INFO] [stdout] 11339 |         let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]       |             |
[INFO] [stdout]       |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_lanes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11338:13
[INFO] [stdout]       |
[INFO] [stdout] 11338 |         let gpu_total_lanes = gpu_miner::initial_work_items(gpu_percent).saturating_mul(gpu_device_count);
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_lanes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_hashes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11339:13
[INFO] [stdout]       |
[INFO] [stdout] 11339 |         let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/bin/qub_core.rs:11492:9
[INFO] [stdout]       |
[INFO] [stdout] 11492 |     let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]       |         |
[INFO] [stdout]       |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_hashes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11492:9
[INFO] [stdout]       |
[INFO] [stdout] 11492 |     let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_lanes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11582:13
[INFO] [stdout]       |
[INFO] [stdout] 11582 |         let gpu_total_lanes = gpu_miner::initial_work_items(gpu_percent).saturating_mul(gpu_device_count);
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_lanes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/bin/qub_core.rs:9555:9
[INFO] [stdout]      |
[INFO] [stdout] 9555 |     let mut handle_tx = |tx: &Transaction, height: Option<u32>, block_time: u32, status_override: Option<&str>, block_jin_reward_u...
[INFO] [stdout]      |         ----^^^^^^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINED_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const MINED_SOUND_PATH: &str = "assets/mined.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NETWORK_MINED_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const NETWORK_MINED_SOUND_PATH: &str = "assets/network-mined.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_ON_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const MINING_ON_SOUND_PATH: &str = "assets/mining-on.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_UPDATE_URL` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const DEFAULT_UPDATE_URL: &str = DEFAULT_MAINNET_UPDATE_URL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPDATE_DOWNLOAD_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const UPDATE_DOWNLOAD_PATH: &str = "data/updater/QUB-Core-Latest.exe";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_JIN_INITIAL_MAX_SUPPLY` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | const ENJIN_MATRIX_JIN_INITIAL_MAX_SUPPLY: u128 = 105_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_RPC_URLS` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 | const ENJIN_MATRIX_RPC_URLS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_JIN_TOKEN_STORAGE_KEY` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const ENJIN_MATRIX_JIN_TOKEN_STORAGE_KEY: &str = "0xfa7484c926e764ee2a64df96876c814599971b5749ac43e0235e41b0d378691884fc0f7cf200fdee...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDJ_ETH_BACKING_NOTE` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 | const USDJ_ETH_BACKING_NOTE: &str = "USDJ is designed as Jinex USD on QUB Chain, backed by USDT + USDC smart contracts on Ethereum t...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDJ_BRIDGE_DISABLED_NOTE` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const USDJ_BRIDGE_DISABLED_NOTE: &str = "Bridge contracts are not live yet. QUB-chain USDJ/EURJ mint/burn is shown as roadmap UI onl...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error` and `last_seen_unix` are never read
[INFO] [stdout]    --> src/bin/qub_core.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct PeerUiStatus {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 482 |     error: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     last_seen_unix: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerUiStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_seen_unix` and `canonical` are never read
[INFO] [stdout]    --> src/bin/qub_core.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 494 | struct SnapshotBlock {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 500 |     first_seen_unix: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 501 |     canonical: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SnapshotBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `icon` is never used
[INFO] [stdout]    --> src/bin/qub_core.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl StablecoinFamily {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 549 |     fn icon(&self) -> &'static str { match self { Self::Usd => "usd", Self::Eur => "eur", Self::Gold => "gold" } }
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_entries` is never read
[INFO] [stdout]    --> src/bin/qub_core.rs:670:5
[INFO] [stdout]     |
[INFO] [stdout] 664 | struct EthereumSendDialog {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 670 |     multi_entries: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EthereumSendDialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ready` is never constructed
[INFO] [stdout]     --> src/bin/qub_core.rs:1011:5
[INFO] [stdout]      |
[INFO] [stdout] 1009 | enum UpdateEvent {
[INFO] [stdout]      |      ----------- variant in this enum
[INFO] [stdout] 1010 |     UpToDate { signature: String, message: String },
[INFO] [stdout] 1011 |     Ready { version: String, installer_path: String, signature: String, message: String },
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `UpdateEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total`, `data_dir`, `qns_activation_height`, and `reachable_peers` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1029:5
[INFO] [stdout]      |
[INFO] [stdout] 1016 | struct ChainSnapshot {
[INFO] [stdout]      |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1029 |     total: String,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     data_dir: String,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1057 |     qns_activation_height: u32,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1064 |     reachable_peers: usize,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `edit_title`, `edit_category`, and `edit_body` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1238:5
[INFO] [stdout]      |
[INFO] [stdout] 1229 | struct LibraryDialog {
[INFO] [stdout]      |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     edit_title: String,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout] 1239 |     edit_category: String,
[INFO] [stdout]      |     ^^^^^^^^^^^^^
[INFO] [stdout] 1240 |     edit_body: String,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LibraryDialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]     --> src/bin/qub_core.rs:1323:5
[INFO] [stdout]      |
[INFO] [stdout] 1314 | enum MinerEvent {
[INFO] [stdout]      |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1323 |     Error(String),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MinerEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `jin_logo`, `hf88_last_peer_probe`, `hf88_last_snapshot_height`, and `hf88_snapshot_stale_since` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1459:5
[INFO] [stdout]      |
[INFO] [stdout] 1406 | struct QubCoreApp {
[INFO] [stdout]      |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1459 |     jin_logo: Option<egui::TextureHandle>,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1538 |     hf88_last_peer_probe: Instant,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1539 |     hf88_last_snapshot_height: u32,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1540 |     hf88_snapshot_stale_since: Instant,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_fr` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1791:4
[INFO] [stdout]      |
[INFO] [stdout] 1791 | fn tr_fr(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_de` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1792:4
[INFO] [stdout]      |
[INFO] [stdout] 1792 | fn tr_de(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_es` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1793:4
[INFO] [stdout]      |
[INFO] [stdout] 1793 | fn tr_es(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_zh` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1794:4
[INFO] [stdout]      |
[INFO] [stdout] 1794 | fn tr_zh(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_ja` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1795:4
[INFO] [stdout]      |
[INFO] [stdout] 1795 | fn tr_ja(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_ko` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1796:4
[INFO] [stdout]      |
[INFO] [stdout] 1796 | fn tr_ko(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/bin/qub_core.rs:2148:8
[INFO] [stdout]      |
[INFO] [stdout] 1799 | impl QubCoreApp {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2148 |     fn mining_status_dot_text(&self, active: bool) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2164 |     fn hashrate_text_meter_hf96(&self, segments: usize) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2209 |     fn ui_disclosure_glyph(&self, ui: &mut egui::Ui, open: bool) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2248 |     fn ui_hashrate_horizontal_meter(&self, ui: &mut egui::Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2428 |     fn ui_sync_progress_bar(&self, ui: &mut egui::Ui, label: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2432 |     fn refresh_snapshot(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3828 |     fn open_conversion_dialog(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4866 |     fn ui_weak_icon_label(&self, ui: &mut egui::Ui, icon: &str, text: impl Into<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4972 |     fn metric_icon(&self, ui: &mut egui::Ui, icon: &str, label: &str, value: impl Into<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4988 |     fn ui_central_section_header(ui: &mut egui::Ui, title: &str, summary: impl Into<String>, expanded: &mut bool) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5000 |     fn metric_qub_jin(&self, ui: &mut egui::Ui, icon: &str, label: &str, qub_value: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5409 |     fn ui_pools_mining_section(&mut self, ui: &mut egui::Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `usdj_contracts_ready_hf107` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:7761:8
[INFO] [stdout]      |
[INFO] [stdout] 6962 | impl QubCoreApp {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7761 |     fn usdj_contracts_ready_hf107(&self) -> bool { self.fiatj_contracts_ready_hf108(StablecoinFamily::Usd) }
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `metric` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9385:4
[INFO] [stdout]      |
[INFO] [stdout] 9385 | fn metric(ui: &mut egui::Ui, label: impl Into<String>, value: impl Into<String>) {
[INFO] [stdout]      |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_hf86_post_update_restart_marker` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9428:4
[INFO] [stdout]      |
[INFO] [stdout] 9428 | fn write_hf86_post_update_restart_marker() -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_snapshot` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9796:4
[INFO] [stdout]      |
[INFO] [stdout] 9796 | fn read_snapshot(config_path: &str) -> Result<ChainSnapshot> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_snapshot_for_payout` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9800:4
[INFO] [stdout]      |
[INFO] [stdout] 9800 | fn read_snapshot_for_payout(config_path: &str, payout_address: &str) -> Result<ChainSnapshot> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIT` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10144:11
[INFO] [stdout]       |
[INFO] [stdout] 10144 |     const UNIT: u128 = 1_000_000_000_000_000_000u128;
[INFO] [stdout]       |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_bytes` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10203:4
[INFO] [stdout]       |
[INFO] [stdout] 10203 | fn parse_hex_bytes(hex: &str) -> Vec<u8> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_u128_le_at` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10214:4
[INFO] [stdout]       |
[INFO] [stdout] 10214 | fn read_u128_le_at(bytes: &[u8], offset: usize) -> Option<u128> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_scale_compact_u128_at` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10221:4
[INFO] [stdout]       |
[INFO] [stdout] 10221 | fn read_scale_compact_u128_at(bytes: &[u8], offset: usize) -> Option<u128> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_effort_jin_tokenomics_from_storage_hex` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10255:4
[INFO] [stdout]       |
[INFO] [stdout] 10255 | fn best_effort_jin_tokenomics_from_storage_hex(storage_hex: &str) -> EnjinMatrixMetrics {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_recipient_address` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10406:4
[INFO] [stdout]       |
[INFO] [stdout] 10406 | fn validate_recipient_address(config_path: &str, recipient: &str) -> std::result::Result<(), String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_send_form` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10410:4
[INFO] [stdout]       |
[INFO] [stdout] 10410 | fn validate_send_form(config_path: &str, recipient: &str, amount: &str, fee: &str, asset: &str, fee_asset: &str) -> std::result::...
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qub_jin_minimum_step_for_gui` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10457:4
[INFO] [stdout]       |
[INFO] [stdout] 10457 | fn qub_jin_minimum_step_for_gui(config_path: &str) -> Result<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_bootnodes` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12613:4
[INFO] [stdout]       |
[INFO] [stdout] 12613 | fn split_bootnodes(raw: &str) -> Vec<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ps_quote` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12934:4
[INFO] [stdout]       |
[INFO] [stdout] 12934 | fn ps_quote(s: &str) -> String { s.replace("'", "''") }
[INFO] [stdout]       |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `biguint_to_quantity` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12970:4
[INFO] [stdout]       |
[INFO] [stdout] 12970 | fn biguint_to_quantity(v: &BigUint) -> String { if v.is_zero() { "0x0".to_string() } else { format!("0x{}", v.to_str_radix(16)) } }
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_ethereum_balances_hf102` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:13024:4
[INFO] [stdout]       |
[INFO] [stdout] 13024 | fn fetch_ethereum_balances_hf102(rpc: &str, address: &str) -> Result<(String, String, String, String)> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_versions` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:13317:4
[INFO] [stdout]       |
[INFO] [stdout] 13317 | fn compare_versions(a: &str, b: &str) -> std::cmp::Ordering {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClInt` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type ClInt = i32;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClUInt` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type ClUInt = u32;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClULong` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | type ClULong = u64;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SizeT` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type SizeT = usize;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClPlatformId` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | type ClPlatformId = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClDeviceId` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type ClDeviceId = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClContext` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type ClContext = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClCommandQueue` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 | type ClCommandQueue = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClProgram` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 | type ClProgram = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClKernel` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | type ClKernel = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClMem` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | type ClMem = *mut c_void;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClEvent` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | type ClEvent = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_SUCCESS` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const CL_SUCCESS: ClInt = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_TRUE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const CL_TRUE: ClUInt = 1;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_TYPE_GPU` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const CL_DEVICE_TYPE_GPU: ClULong = 1 << 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_MEM_READ_WRITE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const CL_MEM_READ_WRITE: ClULong = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_MEM_READ_ONLY` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const CL_MEM_READ_ONLY: ClULong = 1 << 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_NAME` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const CL_DEVICE_NAME: ClUInt = 0x102B;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_VENDOR` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CL_DEVICE_VENDOR: ClUInt = 0x102C;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_MAX_COMPUTE_UNITS` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const CL_DEVICE_MAX_COMPUTE_UNITS: ClUInt = 0x1002;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_GLOBAL_MEM_SIZE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const CL_DEVICE_GLOBAL_MEM_SIZE: ClUInt = 0x101F;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_PROGRAM_BUILD_LOG` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const CL_PROGRAM_BUILD_LOG: ClUInt = 0x1183;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bin/../gpu_miner.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl OpenClGpuMiner {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 120 |     pub fn new() -> Result<Self> { Self::new_for_selector(GPU_DEVICE_ALL) }
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/bin/qub_core.rs:11339:13
[INFO] [stdout]       |
[INFO] [stdout] 11339 |         let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]       |             |
[INFO] [stdout]       |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_lanes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11338:13
[INFO] [stdout]       |
[INFO] [stdout] 11338 |         let gpu_total_lanes = gpu_miner::initial_work_items(gpu_percent).saturating_mul(gpu_device_count);
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_lanes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_hashes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11339:13
[INFO] [stdout]       |
[INFO] [stdout] 11339 |         let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]      --> src/bin/qub_core.rs:11492:9
[INFO] [stdout]       |
[INFO] [stdout] 11492 |     let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |         ----^^^^^^^^^^^^^^^^
[INFO] [stdout]       |         |
[INFO] [stdout]       |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_hashes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11492:9
[INFO] [stdout]       |
[INFO] [stdout] 11492 |     let mut gpu_total_hashes = 0u64;
[INFO] [stdout]       |         ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_hashes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gpu_total_lanes`
[INFO] [stdout]      --> src/bin/qub_core.rs:11582:13
[INFO] [stdout]       |
[INFO] [stdout] 11582 |         let gpu_total_lanes = gpu_miner::initial_work_items(gpu_percent).saturating_mul(gpu_device_count);
[INFO] [stdout]       |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_gpu_total_lanes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINED_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:49:7
[INFO] [stdout]    |
[INFO] [stdout] 49 | const MINED_SOUND_PATH: &str = "assets/mined.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NETWORK_MINED_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const NETWORK_MINED_SOUND_PATH: &str = "assets/network-mined.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MINING_ON_SOUND_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:57:7
[INFO] [stdout]    |
[INFO] [stdout] 57 | const MINING_ON_SOUND_PATH: &str = "assets/mining-on.mp3";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_UPDATE_URL` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:72:7
[INFO] [stdout]    |
[INFO] [stdout] 72 | const DEFAULT_UPDATE_URL: &str = DEFAULT_MAINNET_UPDATE_URL;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UPDATE_DOWNLOAD_PATH` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const UPDATE_DOWNLOAD_PATH: &str = "data/updater/QUB-Core-Latest.exe";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_JIN_INITIAL_MAX_SUPPLY` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 | const ENJIN_MATRIX_JIN_INITIAL_MAX_SUPPLY: u128 = 105_000_000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_RPC_URLS` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:80:7
[INFO] [stdout]    |
[INFO] [stdout] 80 | const ENJIN_MATRIX_RPC_URLS: &[&str] = &[
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENJIN_MATRIX_JIN_TOKEN_STORAGE_KEY` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const ENJIN_MATRIX_JIN_TOKEN_STORAGE_KEY: &str = "0xfa7484c926e764ee2a64df96876c814599971b5749ac43e0235e41b0d378691884fc0f7cf200fdee...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDJ_ETH_BACKING_NOTE` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:88:7
[INFO] [stdout]    |
[INFO] [stdout] 88 | const USDJ_ETH_BACKING_NOTE: &str = "USDJ is designed as Jinex USD on QUB Chain, backed by USDT + USDC smart contracts on Ethereum t...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `USDJ_BRIDGE_DISABLED_NOTE` is never used
[INFO] [stdout]   --> src/bin/qub_core.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const USDJ_BRIDGE_DISABLED_NOTE: &str = "Bridge contracts are not live yet. QUB-chain USDJ/EURJ mint/burn is shown as roadmap UI onl...
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `error` and `last_seen_unix` are never read
[INFO] [stdout]    --> src/bin/qub_core.rs:482:5
[INFO] [stdout]     |
[INFO] [stdout] 475 | struct PeerUiStatus {
[INFO] [stdout]     |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 482 |     error: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     last_seen_unix: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PeerUiStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `first_seen_unix` and `canonical` are never read
[INFO] [stdout]    --> src/bin/qub_core.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 494 | struct SnapshotBlock {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 500 |     first_seen_unix: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 501 |     canonical: bool,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SnapshotBlock` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `icon` is never used
[INFO] [stdout]    --> src/bin/qub_core.rs:549:8
[INFO] [stdout]     |
[INFO] [stdout] 548 | impl StablecoinFamily {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 549 |     fn icon(&self) -> &'static str { match self { Self::Usd => "usd", Self::Eur => "eur", Self::Gold => "gold" } }
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `multi_entries` is never read
[INFO] [stdout]    --> src/bin/qub_core.rs:670:5
[INFO] [stdout]     |
[INFO] [stdout] 664 | struct EthereumSendDialog {
[INFO] [stdout]     |        ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 670 |     multi_entries: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EthereumSendDialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ready` is never constructed
[INFO] [stdout]     --> src/bin/qub_core.rs:1011:5
[INFO] [stdout]      |
[INFO] [stdout] 1009 | enum UpdateEvent {
[INFO] [stdout]      |      ----------- variant in this enum
[INFO] [stdout] 1010 |     UpToDate { signature: String, message: String },
[INFO] [stdout] 1011 |     Ready { version: String, installer_path: String, signature: String, message: String },
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `UpdateEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total`, `data_dir`, `qns_activation_height`, and `reachable_peers` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1029:5
[INFO] [stdout]      |
[INFO] [stdout] 1016 | struct ChainSnapshot {
[INFO] [stdout]      |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1029 |     total: String,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1046 |     data_dir: String,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1057 |     qns_activation_height: u32,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1064 |     reachable_peers: usize,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ChainSnapshot` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `edit_title`, `edit_category`, and `edit_body` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1238:5
[INFO] [stdout]      |
[INFO] [stdout] 1229 | struct LibraryDialog {
[INFO] [stdout]      |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     edit_title: String,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout] 1239 |     edit_category: String,
[INFO] [stdout]      |     ^^^^^^^^^^^^^
[INFO] [stdout] 1240 |     edit_body: String,
[INFO] [stdout]      |     ^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `LibraryDialog` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Error` is never constructed
[INFO] [stdout]     --> src/bin/qub_core.rs:1323:5
[INFO] [stdout]      |
[INFO] [stdout] 1314 | enum MinerEvent {
[INFO] [stdout]      |      ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 1323 |     Error(String),
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `MinerEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `jin_logo`, `hf88_last_peer_probe`, `hf88_last_snapshot_height`, and `hf88_snapshot_stale_since` are never read
[INFO] [stdout]     --> src/bin/qub_core.rs:1459:5
[INFO] [stdout]      |
[INFO] [stdout] 1406 | struct QubCoreApp {
[INFO] [stdout]      |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1459 |     jin_logo: Option<egui::TextureHandle>,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1538 |     hf88_last_peer_probe: Instant,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1539 |     hf88_last_snapshot_height: u32,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 1540 |     hf88_snapshot_stale_since: Instant,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_fr` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1791:4
[INFO] [stdout]      |
[INFO] [stdout] 1791 | fn tr_fr(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_de` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1792:4
[INFO] [stdout]      |
[INFO] [stdout] 1792 | fn tr_de(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_es` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1793:4
[INFO] [stdout]      |
[INFO] [stdout] 1793 | fn tr_es(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_zh` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1794:4
[INFO] [stdout]      |
[INFO] [stdout] 1794 | fn tr_zh(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_ja` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1795:4
[INFO] [stdout]      |
[INFO] [stdout] 1795 | fn tr_ja(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tr_ko` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:1796:4
[INFO] [stdout]      |
[INFO] [stdout] 1796 | fn tr_ko(en: &'static str) -> &'static str { en }
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/bin/qub_core.rs:2148:8
[INFO] [stdout]      |
[INFO] [stdout] 1799 | impl QubCoreApp {
[INFO] [stdout]      | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2148 |     fn mining_status_dot_text(&self, active: bool) -> &'static str {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2164 |     fn hashrate_text_meter_hf96(&self, segments: usize) -> String {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2209 |     fn ui_disclosure_glyph(&self, ui: &mut egui::Ui, open: bool) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2248 |     fn ui_hashrate_horizontal_meter(&self, ui: &mut egui::Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2428 |     fn ui_sync_progress_bar(&self, ui: &mut egui::Ui, label: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2432 |     fn refresh_snapshot(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3828 |     fn open_conversion_dialog(&mut self) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4866 |     fn ui_weak_icon_label(&self, ui: &mut egui::Ui, icon: &str, text: impl Into<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4972 |     fn metric_icon(&self, ui: &mut egui::Ui, icon: &str, label: &str, value: impl Into<String>) {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 4988 |     fn ui_central_section_header(ui: &mut egui::Ui, title: &str, summary: impl Into<String>, expanded: &mut bool) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5000 |     fn metric_qub_jin(&self, ui: &mut egui::Ui, icon: &str, label: &str, qub_value: &str) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5409 |     fn ui_pools_mining_section(&mut self, ui: &mut egui::Ui) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `usdj_contracts_ready_hf107` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:7761:8
[INFO] [stdout]      |
[INFO] [stdout] 6962 | impl QubCoreApp {
[INFO] [stdout]      | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 7761 |     fn usdj_contracts_ready_hf107(&self) -> bool { self.fiatj_contracts_ready_hf108(StablecoinFamily::Usd) }
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `metric` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9385:4
[INFO] [stdout]      |
[INFO] [stdout] 9385 | fn metric(ui: &mut egui::Ui, label: impl Into<String>, value: impl Into<String>) {
[INFO] [stdout]      |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_hf86_post_update_restart_marker` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9428:4
[INFO] [stdout]      |
[INFO] [stdout] 9428 | fn write_hf86_post_update_restart_marker() -> Result<()> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_snapshot` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9796:4
[INFO] [stdout]      |
[INFO] [stdout] 9796 | fn read_snapshot(config_path: &str) -> Result<ChainSnapshot> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_snapshot_for_payout` is never used
[INFO] [stdout]     --> src/bin/qub_core.rs:9800:4
[INFO] [stdout]      |
[INFO] [stdout] 9800 | fn read_snapshot_for_payout(config_path: &str, payout_address: &str) -> Result<ChainSnapshot> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `UNIT` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10144:11
[INFO] [stdout]       |
[INFO] [stdout] 10144 |     const UNIT: u128 = 1_000_000_000_000_000_000u128;
[INFO] [stdout]       |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_hex_bytes` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10203:4
[INFO] [stdout]       |
[INFO] [stdout] 10203 | fn parse_hex_bytes(hex: &str) -> Vec<u8> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_u128_le_at` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10214:4
[INFO] [stdout]       |
[INFO] [stdout] 10214 | fn read_u128_le_at(bytes: &[u8], offset: usize) -> Option<u128> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_scale_compact_u128_at` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10221:4
[INFO] [stdout]       |
[INFO] [stdout] 10221 | fn read_scale_compact_u128_at(bytes: &[u8], offset: usize) -> Option<u128> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `best_effort_jin_tokenomics_from_storage_hex` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10255:4
[INFO] [stdout]       |
[INFO] [stdout] 10255 | fn best_effort_jin_tokenomics_from_storage_hex(storage_hex: &str) -> EnjinMatrixMetrics {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_recipient_address` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10406:4
[INFO] [stdout]       |
[INFO] [stdout] 10406 | fn validate_recipient_address(config_path: &str, recipient: &str) -> std::result::Result<(), String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_send_form` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10410:4
[INFO] [stdout]       |
[INFO] [stdout] 10410 | fn validate_send_form(config_path: &str, recipient: &str, amount: &str, fee: &str, asset: &str, fee_asset: &str) -> std::result::...
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `qub_jin_minimum_step_for_gui` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:10457:4
[INFO] [stdout]       |
[INFO] [stdout] 10457 | fn qub_jin_minimum_step_for_gui(config_path: &str) -> Result<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_bootnodes` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12613:4
[INFO] [stdout]       |
[INFO] [stdout] 12613 | fn split_bootnodes(raw: &str) -> Vec<String> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ps_quote` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12934:4
[INFO] [stdout]       |
[INFO] [stdout] 12934 | fn ps_quote(s: &str) -> String { s.replace("'", "''") }
[INFO] [stdout]       |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `biguint_to_quantity` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:12970:4
[INFO] [stdout]       |
[INFO] [stdout] 12970 | fn biguint_to_quantity(v: &BigUint) -> String { if v.is_zero() { "0x0".to_string() } else { format!("0x{}", v.to_str_radix(16)) } }
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_ethereum_balances_hf102` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:13024:4
[INFO] [stdout]       |
[INFO] [stdout] 13024 | fn fetch_ethereum_balances_hf102(rpc: &str, address: &str) -> Result<(String, String, String, String)> {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compare_versions` is never used
[INFO] [stdout]      --> src/bin/qub_core.rs:13317:4
[INFO] [stdout]       |
[INFO] [stdout] 13317 | fn compare_versions(a: &str, b: &str) -> std::cmp::Ordering {
[INFO] [stdout]       |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClInt` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:23:6
[INFO] [stdout]    |
[INFO] [stdout] 23 | type ClInt = i32;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClUInt` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:24:6
[INFO] [stdout]    |
[INFO] [stdout] 24 | type ClUInt = u32;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClULong` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:25:6
[INFO] [stdout]    |
[INFO] [stdout] 25 | type ClULong = u64;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SizeT` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:26:6
[INFO] [stdout]    |
[INFO] [stdout] 26 | type SizeT = usize;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClPlatformId` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | type ClPlatformId = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClDeviceId` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | type ClDeviceId = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClContext` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:29:6
[INFO] [stdout]    |
[INFO] [stdout] 29 | type ClContext = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClCommandQueue` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:30:6
[INFO] [stdout]    |
[INFO] [stdout] 30 | type ClCommandQueue = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClProgram` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 | type ClProgram = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClKernel` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:32:6
[INFO] [stdout]    |
[INFO] [stdout] 32 | type ClKernel = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClMem` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | type ClMem = *mut c_void;
[INFO] [stdout]    |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ClEvent` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:34:6
[INFO] [stdout]    |
[INFO] [stdout] 34 | type ClEvent = *mut c_void;
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_SUCCESS` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const CL_SUCCESS: ClInt = 0;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_TRUE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const CL_TRUE: ClUInt = 1;
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_TYPE_GPU` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:38:7
[INFO] [stdout]    |
[INFO] [stdout] 38 | const CL_DEVICE_TYPE_GPU: ClULong = 1 << 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_MEM_READ_WRITE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | const CL_MEM_READ_WRITE: ClULong = 1 << 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_MEM_READ_ONLY` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:40:7
[INFO] [stdout]    |
[INFO] [stdout] 40 | const CL_MEM_READ_ONLY: ClULong = 1 << 2;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_NAME` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const CL_DEVICE_NAME: ClUInt = 0x102B;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_VENDOR` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const CL_DEVICE_VENDOR: ClUInt = 0x102C;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_MAX_COMPUTE_UNITS` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | const CL_DEVICE_MAX_COMPUTE_UNITS: ClUInt = 0x1002;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_DEVICE_GLOBAL_MEM_SIZE` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const CL_DEVICE_GLOBAL_MEM_SIZE: ClUInt = 0x101F;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CL_PROGRAM_BUILD_LOG` is never used
[INFO] [stdout]   --> src/bin/../gpu_miner.rs:45:7
[INFO] [stdout]    |
[INFO] [stdout] 45 | const CL_PROGRAM_BUILD_LOG: ClUInt = 0x1183;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/bin/../gpu_miner.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl OpenClGpuMiner {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 120 |     pub fn new() -> Result<Self> { Self::new_for_selector(GPU_DEVICE_ALL) }
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 33s
[INFO] [stderr] crater-edition-check all packages now at latest edition
[INFO] [stderr] crater-edition-check: all finished
[INFO] running `Command { std: "docker" "inspect" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e", kill_on_drop: false }`
[INFO] [stdout] 9c7fcb86498d8f2d81ed307ff0ab436336fe46668de6c9308b2512d91dced34e
